package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 闲鱼联盟CPS佣金明细 idle_affiliate_cps_income_detail
 * 
 * @author ruoyi
 */
public class IdleAffiliateCpsIncomeDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @Excel(name = "主键ID", cellType = ColumnType.NUMERIC)
    private Long id;

    /** 账单ID */
    @Excel(name = "账单ID")
    private String billId;

    /** 原始账单ID */
    @Excel(name = "原始账单ID")
    private String plainBillId;

    /** 子渠道ID */
    @Excel(name = "子渠道ID")
    private String subPublisherId;

    /** 账单状态：1-待发放，2-已发放，3-已取消 */
    @Excel(name = "账单状态", readConverterExp = "1=待发放,2=已发放,3=已取消")
    private Integer billState;

    /** 账单状态描述 */
    @Excel(name = "账单状态描述")
    private String billStateText;

    /** 结算金额 */
    @Excel(name = "结算金额")
    private BigDecimal settleAmount;

    /** 预估金额 */
    @Excel(name = "预估金额")
    private BigDecimal assessAmount;

    /** 记账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "记账时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date accountingTime;

    /** 记账核销时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "记账核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date accountingWriteOffTime;

    /** 商品ID */
    @Excel(name = "商品ID")
    private String itemId;

    /** 商品标题 */
    @Excel(name = "商品标题")
    private String itemTitle;

    /** 商品图片URL */
    @Excel(name = "商品图片URL")
    private String itemPicUrl;

    /** 手机号 */
    @Excel(name = "手机号")
    private String mobile;

    /** 订单ID */
    @Excel(name = "订单ID")
    private String orderId;

    /** 订单状态：1-创建订单，2-交易完成，3-交易取消，4-交易付款 */
    @Excel(name = "订单状态", readConverterExp = "1=创建订单,2=交易完成,3=交易取消,4=交易付款")
    private Integer orderState;

    /** 订单状态描述 */
    @Excel(name = "订单状态描述")
    private String orderStateDesc;

    /** 订单创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date orderCreateTime;

    /** 订单创建开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;

    /** 订单创建结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 订单支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date orderPayTime;

    /** 订单结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date orderEndTime;

    /** 订单实际支付金额 */
    @Excel(name = "订单实际支付金额")
    private BigDecimal orderActualPaidFee;

    /** 订单部分确认金额 */
    @Excel(name = "订单部分确认金额")
    private BigDecimal orderPartConfirmFee;

    /** 优惠券优惠金额 */
    @Excel(name = "优惠券优惠金额")
    private BigDecimal orderCouponDiscountFee;

    /** 深度链接 */
    @Excel(name = "深度链接")
    private String deeplink;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 是否使用优惠券 */
    private Boolean useCoupon;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBillId() {
        return billId;
    }

    public void setBillId(String billId) {
        this.billId = billId;
    }

    public String getPlainBillId() {
        return plainBillId;
    }

    public void setPlainBillId(String plainBillId) {
        this.plainBillId = plainBillId;
    }

    public String getSubPublisherId() {
        return subPublisherId;
    }

    public void setSubPublisherId(String subPublisherId) {
        this.subPublisherId = subPublisherId;
    }

    public Integer getBillState() {
        return billState;
    }

    public void setBillState(Integer billState) {
        this.billState = billState;
    }

    public String getBillStateText() {
        return billStateText;
    }

    public void setBillStateText(String billStateText) {
        this.billStateText = billStateText;
    }

    public BigDecimal getSettleAmount() {
        return settleAmount;
    }

    public void setSettleAmount(BigDecimal settleAmount) {
        this.settleAmount = settleAmount;
    }

    public BigDecimal getAssessAmount() {
        return assessAmount;
    }

    public void setAssessAmount(BigDecimal assessAmount) {
        this.assessAmount = assessAmount;
    }

    public Date getAccountingTime() {
        return accountingTime;
    }

    public void setAccountingTime(Date accountingTime) {
        this.accountingTime = accountingTime;
    }

    public Date getAccountingWriteOffTime() {
        return accountingWriteOffTime;
    }

    public void setAccountingWriteOffTime(Date accountingWriteOffTime) {
        this.accountingWriteOffTime = accountingWriteOffTime;
    }

    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public String getItemTitle() {
        return itemTitle;
    }

    public void setItemTitle(String itemTitle) {
        this.itemTitle = itemTitle;
    }

    public String getItemPicUrl() {
        return itemPicUrl;
    }

    public void setItemPicUrl(String itemPicUrl) {
        this.itemPicUrl = itemPicUrl;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public Integer getOrderState() {
        return orderState;
    }

    public void setOrderState(Integer orderState) {
        this.orderState = orderState;
    }

    public String getOrderStateDesc() {
        return orderStateDesc;
    }

    public void setOrderStateDesc(String orderStateDesc) {
        this.orderStateDesc = orderStateDesc;
    }

    public Date getOrderCreateTime() {
        return orderCreateTime;
    }

    public void setOrderCreateTime(Date orderCreateTime) {
        this.orderCreateTime = orderCreateTime;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getOrderPayTime() {
        return orderPayTime;
    }

    public void setOrderPayTime(Date orderPayTime) {
        this.orderPayTime = orderPayTime;
    }

    public Date getOrderEndTime() {
        return orderEndTime;
    }

    public void setOrderEndTime(Date orderEndTime) {
        this.orderEndTime = orderEndTime;
    }

    public BigDecimal getOrderActualPaidFee() {
        return orderActualPaidFee;
    }

    public void setOrderActualPaidFee(BigDecimal orderActualPaidFee) {
        this.orderActualPaidFee = orderActualPaidFee;
    }

    public BigDecimal getOrderPartConfirmFee() {
        return orderPartConfirmFee;
    }

    public void setOrderPartConfirmFee(BigDecimal orderPartConfirmFee) {
        this.orderPartConfirmFee = orderPartConfirmFee;
    }

    public BigDecimal getOrderCouponDiscountFee() {
        return orderCouponDiscountFee;
    }

    public void setOrderCouponDiscountFee(BigDecimal orderCouponDiscountFee) {
        this.orderCouponDiscountFee = orderCouponDiscountFee;
    }

    public String getDeeplink() {
        return deeplink;
    }

    public void setDeeplink(String deeplink) {
        this.deeplink = deeplink;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public Boolean getUseCoupon() {
        return useCoupon;
    }

    public void setUseCoupon(Boolean useCoupon) {
        this.useCoupon = useCoupon;
    }
} 